package com.uidp.uitils;

import com.acsior.wu.bean.utils.IManagedProps;
import com.uidp.ui.MBAttribute;
import com.uidp.ui.MBBuildModul;
import com.uidp.ui.MBGroup;
import com.uidp.ui.MBModul;
import com.uidp.ui.MBModulHolder;
import com.uidp.ui.MBRegUser;
import com.uidp.ui.MBMenu;
import com.uidp.ui.MBRegisterUsergroup;
import com.uidp.ui.MBSearchModul;
import com.uidp.ui.MBSearchUsergroups;
import com.uidp.ui.MBSearchUsers;
import com.uidp.ui.MBSelectModul;
import com.uidp.ui.MBUsers;

public enum ManagedBeans implements IManagedProps {
	/**
	 * Меню
	 */
	menu(MBMenu.class),
	/**
	 * Регистриране на потребител
	 */
	regUser(MBRegUser.class),
	/**
	 * Потребител
	 */
	user(MBUsers.class),

	/**
	 * Група
	 */
	regUsergroup(MBRegisterUsergroup.class),

	/**
	 * Група
	 */
	searchUsergroup(MBSearchUsergroups.class),

	/**
	 * Търсене на потребител
	 */
	searchUsers(MBSearchUsers.class),
	/**
	 * Търсене на потребител
	 */
	setup(MBSetup.class),

	/**
	 * Регистриране/Промяна на модул
	 */
	regModul(MBModul.class),

	/**
	 * Създаване на група
	 */
	group(MBGroup.class),

	/**
	 * Създаване на група
	 */
	attributes(MBAttribute.class),
	/**
	 * търсене на модул
	 */
	searchModul(MBSearchModul.class),
	/**
	 * търсене на модул
	 */
	selectModul(MBSelectModul.class),
	/**
	 * търсене на модул
	 */
	buildModul(MBBuildModul.class),

	modulHolder(MBModulHolder.class),

	;

	private Class<?> cls;

	private ManagedBeans(Class<?> cls) {
		this.cls = cls;
	}

	/**
	 * @see IManagedProps#getPropClazz()
	 */
	public Class<?> getPropClazz() {
		return this.cls;
	}

	/**
	 * @see IManagedProps#getPropName()
	 */
	public String getPropName() {
		return name();
	}

}
